
package com.example.graduationdesign.pojo.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.Instant;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * 默写记录数据传输对象
 */
@Data
public class ReciteRecordDto {

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 表示用户当前所处于的阶段
     */
    private Integer stage;

    /**
     * 章节索引
     * 表示当前默写的是第几章的单词
     */
    private Integer chapterIndex;

    /**
     * 总单词数
     */
    private Integer totalWords;

    /**
     * 正确数量
     */
    private Integer correctCount;

    /**
     * 错误数量
     */
    private Integer wrongCount;

    /**
     * 正确率(百分比)
     * 例如：85.50 表示85.5%
     */
    private Double accuracy;

    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSX")
    private Instant startTime;

    /**
     * 结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSX")
    private Instant endTime;

    /**
     * 持续时间(秒)
     */
    private Integer duration;

    /**
     * 默写详情列表
     */
    private List<ReciteDetailDto> details;

}